﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;
using System.Data.SqlClient;

using Padelcenter.Common;

namespace Padelcenter.DataAccess
{
    public class TipoDocumento_Select : DataAccessBase
    {
        public TipoDocumento_Select()
        {
            StoredProcedureName = StoredProcedure.Name.TipoDocumento_SELECT.ToString();
        }
        
        public DataSet Get()
        {
            DataSet ds;

            TipoDocumento_Select_Prm tipoDoc_Select_Prm = new TipoDocumento_Select_Prm(this.TipoDocumento);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, tipoDoc_Select_Prm.Parameters);

            return ds;
        }
        
        private TipoDocumento _tipoDocumento;

        public TipoDocumento TipoDocumento
        {
            get { return _tipoDocumento; }
            set { _tipoDocumento = value; }
        }
    }

    public class TipoDocumento_Select_Prm
    {
        public TipoDocumento_Select_Prm(TipoDocumento tipoDocumento)
        {
            this.TipoDocumento = tipoDocumento;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idTipoDocumento"    , this.TipoDocumento.IdTipoDocumento ),
                new SqlParameter( "@ConFiltroActivo"    , this.TipoDocumento.ConFiltroActivo),
                new SqlParameter( "@Activo"             , this.TipoDocumento.Activo)
            };

            this.Parameters = parameters;
        }

        private SqlParameter[] _parameters;
        private TipoDocumento _tipoDocumento;

        public TipoDocumento TipoDocumento
        {
            get { return _tipoDocumento; }
            set { _tipoDocumento = value; }
        }

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
}